package com.mdxx.patrol.system.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;

import com.mdxx.patrol.system.bean.SysRole;

import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by MD-01 on 2017/6/28.
 */

public interface SysRoleMapper extends BaseMapper<SysRole>{

    /**
     * 页面分页,条件查询角色列表
     */
    List<SysRole> queryList(@Param("start") Integer start,
                            @Param("num") Integer num,
                            @Param("key") String key);

    /**
     * 条件查询角色列表总数
     */
    int queryListCount(@Param("key") String key);

    /**
     * 根据标识查询角色
     */
    SysRole queryByTag(String tag);

    /**
     * 根据角色删除 角色-权限表
     */
    int deleteRolePermissionByRoleId(Integer roleId);

    /**
     * 添加角色-权限 对应关系
     */
    int insertRolePermission(@Param("roleId") Integer roleId,
                             @Param("permissionId") Integer permissionId);


    /**
     * 根据用户编号查询角色
     */
    List<SysRole> queryByMemberId(@Param("memberId") Integer memberId);

    /**
     * 获取所有可用的角色
     */
    List<SysRole> queryUsableAll();

    /**
     * 根据权限编号查询绑定的角色
     */
    List<SysRole> queryByPermissionId(Integer permissionId);

    /**
     * 根据用户名获取用户的角色
     */
    List<SysRole> queryByMemberUsername(String username);

}
